// Map 去重 (适合复杂对象)
//     对于去重复杂类型的对象（如 [{a:1}, {a:1}]），可以使用 Map 或其他方法自定义比较逻辑。
//     通过 Map 来记录已出现的对象，以实现去重。
const uniqueArray = arr => {
    const map = new Map();
    return arr.filter(item => {
      const key = JSON.stringify(item); // 可以通过 JSON 字符串化作为 key
      if (!map.has(key)) {
        map.set(key, true);
        return true;
      }
      return false;
    });
  };
  
  console.log(uniqueArray([{a:1}, {a:1}, {b:2}])); // [{a:1}, {b:2}]
  
//   优点：
//     支持对象去重：可以处理复杂类型的数据，通过 JSON.stringify() 实现对对象内容的比较。
//     性能较好：通过 Map 实现的查找操作是 O(1)，时间复杂度为 O(n)。
//   缺点：
//     适用于特定场景：需要对数据结构有较好的理解，并且在需要处理复杂对象时，JSON 字符串化的性能和可靠性需要谨慎对待。
//     潜在的性能问题：如果数组元素是大型对象，JSON.stringify() 的性能可能会成为瓶颈。
  
  
  
  
  
  